package cn.ac.aircas.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * 城市地下空间状况表
 *
 * @TableName road_condition_tab
 */
public class RoadConditionTab implements Serializable {
    /**
     * 路面状况id
     */
    private Long conditionId;

    /**
     * 路名
     */
    private String roadName;

    /**
     * 街道名
     */
    private String streetName;

    /**
     * 行政区
     */
    private String region;

    /**
     * 位置区域GPS
     */
    private String positionGps;

    /**
     * 路段长
     */
    private Double pathLength;

    /**
     * 路面状况(0代表其他，1代表正常，2代表异常，3代表危险)
     */
    private Integer roadCondition;

    private String status;

    /**
     * 异常大类(1代地表缺陷，2代表地下缺陷)
     */
    private Integer exceptionType;

    /**
     * 异常小类(3代表面平整度，4代表跳车指数，5代表车辙深度，6代表平均构造深度，7代表地下空洞)
     */
    private Integer exceptionDetailType;

    /**
     * 整改意见
     */
    private String rectifyOpinions;


    /**
     * 检测时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", locale = "zh", timezone = "GMT+8")
    private Date detectionTime;

    /**
     * 创建者
     */
    private String createBy;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", locale = "zh", timezone = "GMT+8")
    private Date createTime;

    /**
     * 更新者
     */
    private String updateBy;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
    private Date updateTime;

    private static final long serialVersionUID = 1L;

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", conditionId=").append(conditionId);
        sb.append(", roadName=").append(roadName);
        sb.append(", streetName=").append(streetName);
        sb.append(", region=").append(region);
        sb.append(", positionGps=").append(positionGps);
        sb.append(", pathLength=").append(pathLength);
        sb.append(", roadCondition=").append(roadCondition);
        sb.append(", exceptionType=").append(exceptionType);
        sb.append(", exceptionDetailType=").append(exceptionDetailType);
        sb.append(", detectionTime=").append(detectionTime);
        sb.append(", createBy=").append(createBy);
        sb.append(", createTime=").append(createTime);
        sb.append(", updateBy=").append(updateBy);
        sb.append(", updateTime=").append(updateTime);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }

    public Long getConditionId() {
        return conditionId;
    }

    public void setConditionId(Long conditionId) {
        this.conditionId = conditionId;
    }

    public String getRoadName() {
        return roadName;
    }

    public void setRoadName(String roadName) {
        this.roadName = roadName;
    }

    public String getStreetName() {
        return streetName;
    }

    public void setStreetName(String streetName) {
        this.streetName = streetName;
    }

    public String getRegion() {
        return region;
    }

    public void setRegion(String region) {
        this.region = region;
    }

    public String getPositionGps() {
        return positionGps;
    }

    public void setPositionGps(String positionGps) {
        this.positionGps = positionGps;
    }

    public Double getPathLength() {
        return pathLength;
    }

    public void setPathLength(Double pathLength) {
        this.pathLength = pathLength;
    }

    public Integer getRoadCondition() {
        return roadCondition;
    }

    public void setRoadCondition(Integer roadCondition) {
        this.roadCondition = roadCondition;
    }

    public Integer getExceptionType() {
        return exceptionType;
    }

    public void setExceptionType(Integer exceptionType) {
        this.exceptionType = exceptionType;
    }

    public Integer getExceptionDetailType() {
        return exceptionDetailType;
    }

    public void setExceptionDetailType(Integer exceptionDetailType) {
        this.exceptionDetailType = exceptionDetailType;
    }

    public String getRectifyOpinions() {
        return rectifyOpinions;
    }

    public void setRectifyOpinions(String rectifyOpinions) {
        this.rectifyOpinions = rectifyOpinions;
    }

    public Date getDetectionTime() {
        return detectionTime;
    }

    public void setDetectionTime(Date detectionTime) {
        this.detectionTime = detectionTime;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }
}